<?php
require_once ("Connection/DB_Connection.php");

class LoginHandler {
	const Username = "username";
	const Password = "password";
	const Lastname = "Lastname";

	public function IsLoggedIn() {
		//..är inloggad
		if (isset($_SESSION[self::Username])) {
			return True;
		}
		return false;
	}

	public function DoLogin($name, $password,$lastname) {//.inloggning...
	var_dump($lastname);
	$UserHandler = new UserHandler();
		if ($UserHandler -> controllDB($name, $password)) {
			$_SESSION[self::Username] = $name;
			$_SESSION[self::Lastname] = $lastname;

			return true;
		}
		return false;
	}

	public function DoLogout() {
		//utloggning...
		unset($_SESSION[self::Username]);

	}


	public static function  GetLoginUser(){
		
		return $_SESSION[self::Username];
	
	}
	public static function  GetLoginlastname(){
		var_dump($_SESSION[self::Lastname]);
		return $_SESSION[self::Lastname];
	
	}

	//////////////////////////////TEST////////////////////////////////////////////////////////////////
	public function test() {
		$this -> DoLogout();

		// kollar om jag är inloggad
		if ($this -> IsLoggedIn()) {
			echo "inloggad efter inloggning med fel uppgifter, fel på dologin eller isloggedin";
			return false;
		}
		// du ska testa att ett fel lösenord verkligen vandlieras rätt. så rätt i detta fall är egentliget ett fel lösenord!
		if ($this -> DoLogin('fel användarnamn', 'fel lösenord')) {
			echo "fel vid dologin.";
			return false;
		}

		// du ska testa att ett fel lösenord verkligen vandlieras rätt. så rätt i detta fall är egentliget ett fel lösenord!
		if ($this -> DoLogin('Max', 'Max') == false) {
			echo "Rätt anv/Lösenord men blev inte inloggade</br>";
			return false;
		}

		// kolla att vi är inloggad.
		if ($this -> IsLoggedIn() == false) {
			echo "inte inloggad trotts att vi borde";
			return false;
		}

		//.. kolla om man verkligen är utloggad
		$this -> DoLogout();

		if ($this -> IsLoggedIn() == true) {
			echo "inloggad trotts att vi inte borde";
			return false;
		}

		//..kolla med rätt användarnamn men med fel lösenord.
		if ($this -> DoLogin('max', 'asdsadas')) {
			echo "rätt lösenord";
			return false;
		}
		return True;

	}

}
